#!/bin/bash

# 导入配置文件
source ./config.cnf

# 设置密码为环境变量
export PGPASSWORD="PostGresql_postgres^2023"

# PostgreSQL连接参数
HOST="${vip}"        # 远程服务器的IP地址或主机名
PORT="${haproxy_postgres_primary_port:-5432}"                    # PostgreSQL端口，默认是5432
DBNAME="abc"                   # 数据库名称
USERNAME="postgres"          # 超级用户的用户名

function insert(){
  # SQL插入语句
  CREATE_DB="CREATE DATABASE abc;"
  CREATE_TB="CREATE TABLE testa(va varchar(100));"
  INSERT_SQL="INSERT INTO testa VALUES (now());"

  CHK_DB=$(psql -h $HOST -p $PORT -d postgres -U $USERNAME -c "\l"|awk -F'|' '{print $1}'|grep -w $DBNAME|wc -l)
  if [ "$CHK_DB" -eq 0 ];then
    echo "创建数据测试库 $DBNAME"
    psql -h $HOST -p $PORT -d postgres -U $USERNAME -c "$CREATE_DB"
    echo "创建测试表 abc.testa"
    psql -h $HOST -p $PORT -d $DBNAME -U $USERNAME -c "$CREATE_TB"
  fi

  # 连接到 PostgreSQL 并插入数据
  for i in {1..100000};do
    echo "$(date +"%Y-%m-%d %H:%M:%S")"
    psql -h $HOST -p $PORT -d $DBNAME -U $USERNAME -c "$INSERT_SQL"
  done
}

function select_now(){
  # 连接到 PostgreSQL 并查询数据
  for i in {1..100000};do
    psql -h $HOST -p $PORT -d postgres -U $USERNAME -t -c "select now();"
  done
}


function main(){
  if [ "$1" == "insert" ];then
    insert
  else
    select_now
  fi

  # 清除密码环境变量
  unset PGPASSWORD
}

main $1
